package com.situ.personal.service.impl;

import java.util.List;

import com.situ.personal.dao.IUserDao;
import com.situ.personal.dao.impl.UserDaoImpl;
import com.situ.personal.entity.PageInfo;
import com.situ.personal.entity.User;
import com.situ.personal.service.IUserService;
import com.situ.personal.vo.UserDeptVO;

public class UserServiceImpl implements IUserService{
	private IUserDao userDao = new UserDaoImpl();

	@Override
	public List<User> selectAll() {
		return userDao.selectAll();
	}

	@Override
	public PageInfo<User> selectByPage(int pageNo, int pageSize) {
		int offset = (pageNo - 1) * pageSize;
		List<User> list = userDao.selectByPage(offset, pageSize);
		
		int totalCount = userDao.selectTotalCount();
		int totalPage = (int)Math.ceil((double)totalCount / pageSize);
		
		PageInfo<User> pageInfo = new PageInfo<User>(list, totalPage, pageNo, pageSize);
		return pageInfo;
	}

	@Override
	public void deleteById(int id) {
		userDao.deleteById(id);
	}

	@Override
	public boolean insert(User user) {
		//  查询数据库看这个名字是否已经存在
		// boolean isExist = userDao.checkNameExist(user.getName)
		// if (isExist) {
		//	   return false;
		// } else { // 这个名字不存在
		//		userDao.insert(user);
		//		return true;
		// }
		userDao.insert(user);
		return true;
	}

	@Override
	public User selectById(int id) {
		return userDao.selectById(id);
	}

	@Override
	public void update(User user) {
		userDao.update(user);
	}

	@Override
	public List<UserDeptVO> selectUserDeptInfo() {
		return userDao.selectUserDeptInfo();
	}

	@Override
	public User login(String name, String password) {
		return userDao.login(name, password);
	}

}
